[プレビュー] Amazon Bedrockでプロンプトを管理できる「Prompt Management」機能が追加されました
みなさん、こんにちは!
福岡オフィスの青柳です。
Amazon Bedrockの新機能「Prompt Management」と「Prompt Flows」がプレビューとして公開されました。
当記事では、これらのうち「Prompt Management」機能についてご紹介します。
もう一方の「Prompt Flows」機能については、下記の記事を参照ください。
「Prompt Management」機能とは
繰り返し利用する同じようなプロンプトを、テンプレート化して管理することができる機能です。
Prompt Managementで管理するプロンプトでは「プレースホルダー」が使えます。
{{dish}} を {{number}} 人分作りたいです。必要な材料と、作り方を説明してください。
二重中括弧で囲まれた部分 {{ }}
がプレースホルダーであり、Prompt Managementでは「変数 (Variable)」と呼ばれます。
管理されたプロンプトを利用する際に、変数の部分に任意の値 (文字列や数値など) を代入することができます。
変数へ代入する値を変えることで、プレースホルダーの部分が展開されて、プロンプトとして利用できます。
- 「dish」に "カレー"、「number」に "3" を代入した場合
- 「カレーを3人分作りたいです。必要な材料と、作り方を説明してください。」
- 「dish」に "がめ煮"、「number」に "10" を代入した場合
- 「がめ煮を10人分作りたいです。必要な材料と、作り方を説明してください。」
このように、同じような内容で一部分が異なるプロンプトを毎回イチから記述せずに再利用できるようになります。
試してみた
プロンプトの作成
マネジメントコンソールでAmazon Bedrockを開いて、左側のメニューの「オーケストレーション」に新たに追加された「Prompt Management」を選択します。
「Create prompt」をクリックしてプロンプトの作成を開始します。
名前などの情報を入力すると、このような編集画面が表示されます。
(この画面を「Prompt Builder」と呼びます)
「Prompt」欄にプロンプトを入力します。
「{{変数名}}」を入力すると、自動的に識別されてその部分に色が付きます。
プロンプトを入力しましたら、右上の「Save draft」をクリックして保存します。
プロンプトのテスト
「Prompt builder」画面で、作成したプロンプトをテストすることができます。
まず、「Configure」欄で、テストで使用するモデルを指定します。
(必要に応じて推論パラメーターの変更も可能です)
次に、画面の下方にある「Test variables」欄で、テストで使用する変数をセットします。
変数名に対応する値を、このように入力します。
準備ができましたら、画面の右側にある「Test window」の「Run」をクリックします。
指定したモデルを使って、与えられたプロンプトと変数に対して、どのような回答をするのかを確認することができます。
プロンプトのバージョン管理
「Prompt Builder」画面を終了して、プロンプトの「詳細」画面へ遷移すると、プロンプトのバージョン管理を行うことができます。
現在編集中の「Draft」バージョンをコピーして新しい「バージョン」を生成します。
作成したバージョンを削除することもできます。(同じ番号のバージョンは二度と作成できませんので注意してください)
なお、Prompt Builerを使ってプロンプトの編集ができるのは「Draft」バージョンのみです。
アプリケーションからの利用
作成したプロンプトをアプリケーションから利用する方法ですが、現時点ではPrompt Management機能と同時に発表された「Prompt Flows」でのみ利用可能であるようです。
Bedrock Runtimeの「InvokeModel」APIや「Converse」APIをコールする際に作成したプロンプトを指定できるのかな?と思いましたが、今のところそのようなパラメーターは用意されていないようです。
まだプレビューということで今後どのようになるのかは分かりませんが、現時点ではPrompt Flowsと組み合わせて利用しましょう。
おわりに
Amazon Bedrockでプロンプトをテンプレート化して管理する手法としては、これまでは 「LangChain」を使うか、独自にプログラムコードを実装していたかと思います。
今回のアップデート (プレビュー) で、Bedrock自身でプロンプトを作成・テスト・管理することができるようになったため、分かり易くなったのではないでしょうか。
正式リリースを楽しみに待ちたいと思います。